package org.batatasframework.support.database.sql.spi;

import org.batatasframework.support.database.metadatas.FieldMetadata;
import org.batatasframework.support.database.sql.TableInstance;
import org.batatasframework.support.database.sql.field.FieldElement;
import org.batatasframework.support.database.sql.sort.SortFragment;
import org.batatasframework.support.database.sql.sort.SortType;

public interface SortFragmentCriterion {
	
	SortFragment orderBy(SortFragment fieldSortable);
	SortFragment orderBy(TableInstance tableInstance, String...fieldNames);
	SortFragment orderBy(TableInstance tableInstance, String fieldName);
	SortFragment orderBy(TableInstance tableInstance, FieldMetadata fieldMetadata, SortType sortType, int ordinal);
	SortFragment orderBy(FieldElement fieldElement, SortType sortType, int ordinal);
}
